﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace CBE.Model
{
    public partial class ServiciosVenta : IDataErrorInfo
    {
        public ServiciosVenta()
            : base()
        {
            this.ID_ServicioVenta = Guid.NewGuid();
            ServiciosReference.AssociationChanged += new CollectionChangeEventHandler(ServiciosReference_AssociationChanged);
        }

        void ServiciosReference_AssociationChanged(object sender, CollectionChangeEventArgs e)
        {
            if (e.Element != null)
            {
                var servicioNuevo = (Servicios)e.Element;
                this.ImporteServicio = servicioNuevo.Precio;
            }
        }

        #region IDataErrorInfo Members

        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        public string this[string columnName]
        {
            get
            {
                String error = null;

                if (columnName == "Servicios" && Servicios == null)
                {
                    error = "El campo Servicio es de ingreso obligatorio.";
                }
                else if (columnName == "Empleados" && Empleados == null)
                {
                    error = "El campo Empleado es de ingreso obligatorio.";
                }
                else if (columnName == "ImporteServicio")
                {
                    if (!ImporteServicio.HasValue)
                    {
                        error = "El campo Importe es de ingreso obligatorio.";
                    }
                    else if (ImporteServicio.Value < 0)
                    {
                        error = "El campo Importe debe ser mayor que 0.";
                    }
                }

                return error;
            }
        }

        #endregion
    }
}
